Our modem connected world is facilitated by message processors communicating messages back and forth. A message processor may be quite complex such as a fully capable computing system or even a collection of computing systems. Message processors frequently use queues to exchange messages reliably while providing isolation between message processors. Queues allow message processors requesting a service (i.e., “clients”) to send messages at any time without requiring a direct connection to the message processor (i.e., the “service”) providing the service.
In such a message processing service, clients may send messages to the service by sending messages that address the service. In order to handle perhaps a continuous receipt of messages, the messages are first placed in a queue until they are processed by the message processing components of the service. Accordingly, the queue may at any given time contain zero or more messages, where messages may be continually provided to the queue by one or more clients, and where messages may be continually drawn from the queue by one or more message processing components of the service. This is called “continuous message processing”.
Accordingly, in continuous message processing, the message processing component should be authored to handle incoming messages at any time. Such a task may be difficult but is important in order to guarantee that the service can handle incoming messages, and that messages will not be lost.